1. Field of the Invention
The present invention relates to telecommunications and, more particularly, to methods and systems for preventing call forward looping.
2. Description of Related Art
Wireless telephone users and landline telephone users are increasingly using enhanced call services, such as call forwarding. Call forwarding enables a user to have incoming calls to a called station forwarded to a forward-to number. The called station may be a mobile station, such as a wireless telephone, or it may be a landline station, such as a landline telephone. The forward-to number may likewise correspond to a mobile station or to a landline station.
Different types of call forwarding are commonly used. For instance, call forwarding may be conditional. In a call forwarding—busy (CFB) feature, calls are forwarded to the forward-to number only if the called station is busy. In a call forwarding—no answer (CFNA) feature, calls are forwarded to the forward-to number only if the called station is not busy but nonetheless does not answer. With CFB and CFNA features, the switching point serving the called station forwards the call to the forwarded-to number typically only after an unsuccessful attempt to terminate the call to the called station.
Alternatively, the call forwarding feature may be unconditional. In a call forwarding—unconditional (CFU) feature, calls to the called station are forwarded to the called number regardless of the status of the called station. With CFU, the switching point serving the called station typically forwards the call to the forward-to number without attempting to terminate the call to the called station.
One potential problem with call forwarding is that endless loops may be created, such as by having two numbers that forward to each other. For example, suppose a user applies a CFNA feature to have calls to his work phone forwarded to his home phone and applies a CFNA feature to have calls from his home phone forwarded to his work phone. Then, a call to the work phone that is unanswered will be forwarded to the home phone. But if the home phone also does not answer the call, then the call will be forwarded back to the work phone, thereby potentially creating an endless loop.
To minimize such call forward looping, telecommunications networks typically allow calls to be forwarded a maximum number of times. One problem with this approach, however, is that a call may be forwarded many number of times without looping, especially as people use more types of telephony devices and use call forwarding more often. For example, a user who is traveling may have calls to his work phone forwarded to his home phone, calls to his home phone forwarded to his mobile phone, and calls to his mobile phone forwarded to a host's phone. As a result, calls to the traveling user may be forwarded three times without looping.
Thus, with the existing approach, if the maximum number of times a call can be forwarded is set too low, some legitimate call forwarding scenarios, like the one described above, may be unavailable. However, if the maximum number is set too high, then call forward looping will not be detected right away, and network resources may be needlessly consumed. Another drawback with the existing approach is that it depends on information regarding the number of times a call has been forwarded to be transmitted reliably, which may be a problem if calls are forwarded from one provider's network to another's. Yet another drawback is that if the maximum number of allowed call forwardings is exceeded existing systems often simply send the call back, without explaining the problem to the caller or the called party.
Accordingly, there is a need to provide more flexible ways to prevent call forward looping.